package b;

import org.junit.Test;

import java.util.HashSet;
import java.util.Set;

public class 最长按1递增的任意排列序列的长度_最长连续序列 {

    public int 最长按1递增的任意排列序列的长度_最长连续序列(int[] nums) {
        Set<Integer> set=new HashSet<>();
        for(int x:nums)set.add(x);
        //
        int max=1;
        //
        for(int i=0;i<nums.length;i++){
            int cur=nums[i];
            //
            //注意是判断cur-1而不是cur哦
            if(set.contains(cur-1))continue;
            //
            else{
                int count=1;
                while(set.contains(++cur)){
                    count++;
                }
                max=Math.max(count,max);
            }
        }
        //
        return max;
    }

    @Test
    public void test() {
        int[] p={100,4,200,1,3,2};
        System.out.println(最长按1递增的任意排列序列的长度_最长连续序列(p));
    }
}
